/**
 * GTButtonWithActiveIcon.m
 *
 * The contents of this file are suGTButtonWithActiveIconbject to the Mozilla Public License Version 1.1 (the "License");
 * you may not use this file except in compliance with the License. You may obtain a copy of the License 
 * at http://www.mozilla.org/MPL/
 * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND,
 * either express or implied. See the License for the specific language governing rights and limitations 
 * under the License.
 *
 * The Original Code is gcast-toolbox4iphone.
 *
 * The Initial Developers of the Original Code is Giannandrea Castaldi.
 */
#import "GTBarBorderButtonWithActiveIcon.h"

@interface GTBarBorderButtonWithActiveIcon ()
@property(nonatomic,retain,readonly) UIButton *button;
- (UIImage*)currentIcon;
@end

@implementation GTBarBorderButtonWithActiveIcon
@synthesize active;

+ (id)buttonWithTitle:(NSString*)aTitle font:(UIFont*)aFont {
  return [[[GTBarBorderButtonWithActiveIcon alloc] initWithTitle:aTitle font:aFont] autorelease];
}

- (id)initWithTitle:(NSString*)aTitle font:(UIFont*)aFont {
  return [super initWithTitle:aTitle font:aFont icon:[self currentIcon]];
}

- (void)dealloc {
  [super dealloc];
}

- (void)activate {
  active = TRUE;
  [self.button setImage:[self currentIcon] forState:UIControlStateNormal];
}

- (void)deactivate {
  active = FALSE;
  [self.button setImage:[self currentIcon] forState:UIControlStateNormal];
}

#pragma mark private methods

- (UIImage*)currentIcon {
  NSString *color = active ? @"orange" : @"grey";
  NSString *imageToLoad = [NSString stringWithFormat:@"checkmark-%@.png", color];
  UIImage *image = [UIImage imageNamed:imageToLoad];
  return image;
}

- (UIButton*)button {
  return button;
}

@end